﻿using System;
using System.Runtime.InteropServices;

namespace AllInOne.PrintUtils
{
    // Token: 0x0200005B RID: 91
    public class UnsafeNativeMethods
    {
        // Token: 0x0200005C RID: 92
        [StructLayout(LayoutKind.Explicit, Pack = 4)]
        public struct __MIDL_IWinTypes_0009
        {
            // Token: 0x0400033C RID: 828
            [FieldOffset(0)]
            public int hInproc;

            // Token: 0x0400033D RID: 829
            [FieldOffset(0)]
            public int hRemote;
        }

        // Token: 0x0200005D RID: 93
        [StructLayout(LayoutKind.Sequential, Pack = 4)]
        public struct _RemotableHandle
        {
            // Token: 0x0400033E RID: 830
            public int fContext;

            // Token: 0x0400033F RID: 831
            public UnsafeNativeMethods.__MIDL_IWinTypes_0009 u;
        }

        // Token: 0x0200005E RID: 94
        [StructLayout(LayoutKind.Sequential, Pack = 4)]
        public struct tagPOINT
        {
            // Token: 0x04000340 RID: 832
            public int x;

            // Token: 0x04000341 RID: 833
            public int y;
        }

        // Token: 0x0200005F RID: 95
        [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
        [Guid("C4D244B0-D43E-11CF-893B-00AA00BDCE1A")]
        [ComVisible(true)]
        [ComImport]
        public interface IDocHostShowUI
        {
            // Token: 0x06000363 RID: 867
            [PreserveSig]
            [return: MarshalAs(UnmanagedType.I4)]
            int ShowMessage(IntPtr hwnd, [MarshalAs(UnmanagedType.LPWStr)] string lpstrText, [MarshalAs(UnmanagedType.LPWStr)] string lpstrCaption, [MarshalAs(UnmanagedType.U4)] uint dwType, [MarshalAs(UnmanagedType.LPWStr)] string lpstrHelpFile, [MarshalAs(UnmanagedType.U4)] uint dwHelpContext, [In] [Out] ref int lpResult);

            // Token: 0x06000364 RID: 868
            [PreserveSig]
            [return: MarshalAs(UnmanagedType.I4)]
            int ShowHelp(IntPtr hwnd, [MarshalAs(UnmanagedType.LPWStr)] string pszHelpFile, [MarshalAs(UnmanagedType.U4)] uint uCommand, [MarshalAs(UnmanagedType.U4)] uint dwData, [MarshalAs(UnmanagedType.Struct)] [In] UnsafeNativeMethods.tagPOINT ptMouse, [MarshalAs(UnmanagedType.IDispatch)] [Out] object pDispatchObjectHit);
        }
    }
}
